import api from './api/index';
import { sdk } from './config/sdk';
import { ui } from './config/index';

App({
  ui,
  onLaunch() {
    const updateManager = wx.getUpdateManager();
    updateManager.onCheckForUpdate(function (res) {
      // 请求完新版本信息的回调
      // console.log(res.hasUpdate)
    })
    updateManager.onUpdateReady(function () {
      wx.showModal({
        title: '更新提示',
        content: '新版本已经准备好，是否重启应用？',
        success: function (res) {
          if (res.confirm) {
            // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
            updateManager.applyUpdate()
          }
        }
      })
    })
    updateManager.onUpdateFailed(function () {
      // 新的版本下载失败
    })
    // 刷新Token
    const nowTime = Math.round(new Date() / 1000);
    if (wx.getStorageSync('login')) {
      const { refreshToken, expire, refreshExpire } = wx.getStorageSync('token');
      // Token 有效时间小于15分钟 && 刷新有效大于 30S
      if (expire - nowTime <= 6300 && refreshExpire - nowTime >= 30) {
        sdk.request({
          url: api.refreshToken,
          method: 'GET',
          data: {
            refreshToken
          }
        }).then(res => {
          const nowTime = Math.round(new Date() / 1000);
          const token = {
            token: res.data.token,
            expire: nowTime + res.data.expire,
            refreshToken: res.data.refreshToken,
            refreshExpire: nowTime + res.data.refreshExpire,
          }
          wx.setStorageSync('login', true);
          wx.setStorageSync('token', token);
        })
      }
    }
  }
})
